﻿namespace WMS6.Web.CommonMethodServiceRef
{
    using System;
    using System.CodeDom.Compiler;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Runtime.CompilerServices;
    using System.Runtime.Serialization;

    [Serializable, GeneratedCode("System.Runtime.Serialization", "3.0.0.0"), DataContract(Name="CreatedLocationinfo", Namespace="http://schemas.datacontract.org/2004/07/WMS6.DataEntity"), DebuggerStepThrough]
    public class CreatedLocationinfo : IExtensibleDataObject, INotifyPropertyChanged
    {
        [NonSerialized]
        private ExtensionDataObject extensionDataField;
        [OptionalField]
        private string Field1BeginStrField;
        [OptionalField]
        private string Field1EndStrField;
        [OptionalField]
        private int Field1LengthField;
        [OptionalField]
        private string Field1TypeField;
        [OptionalField]
        private string Field2BeginStrField;
        [OptionalField]
        private string Field2EndStrField;
        [OptionalField]
        private int Field2LengthField;
        [OptionalField]
        private string Field2TypeField;
        [OptionalField]
        private string Field3BeginStrField;
        [OptionalField]
        private string Field3EndStrField;
        [OptionalField]
        private int Field3LengthField;
        [OptionalField]
        private string Field3TypeField;
        [OptionalField]
        private string Field4BeginStrField;
        [OptionalField]
        private string Field4EndStrField;
        [OptionalField]
        private int Field4LengthField;
        [OptionalField]
        private string Field4TypeField;
        [OptionalField]
        private string Field5BeginStrField;
        [OptionalField]
        private string Field5EndStrField;
        [OptionalField]
        private int Field5LengthField;
        [OptionalField]
        private string Field5TypeField;
        [OptionalField]
        private string LoactionEndValueField;
        [OptionalField]
        private string LoactionStarteValueField;
        [OptionalField]
        private int LocationLengthField;
        [OptionalField]
        private List<int> LocationValueLengthField;
        [OptionalField]
        private string SeperatorCharField;

        public event PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if (propertyChanged != null)
            {
                propertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        [Browsable(false)]
        public ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [DataMember]
        public string Field1BeginStr
        {
            get
            {
                return this.Field1BeginStrField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field1BeginStrField, value))
                {
                    this.Field1BeginStrField = value;
                    this.RaisePropertyChanged("Field1BeginStr");
                }
            }
        }

        [DataMember]
        public string Field1EndStr
        {
            get
            {
                return this.Field1EndStrField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field1EndStrField, value))
                {
                    this.Field1EndStrField = value;
                    this.RaisePropertyChanged("Field1EndStr");
                }
            }
        }

        [DataMember]
        public int Field1Length
        {
            get
            {
                return this.Field1LengthField;
            }
            set
            {
                if (!this.Field1LengthField.Equals(value))
                {
                    this.Field1LengthField = value;
                    this.RaisePropertyChanged("Field1Length");
                }
            }
        }

        [DataMember]
        public string Field1Type
        {
            get
            {
                return this.Field1TypeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field1TypeField, value))
                {
                    this.Field1TypeField = value;
                    this.RaisePropertyChanged("Field1Type");
                }
            }
        }

        [DataMember]
        public string Field2BeginStr
        {
            get
            {
                return this.Field2BeginStrField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field2BeginStrField, value))
                {
                    this.Field2BeginStrField = value;
                    this.RaisePropertyChanged("Field2BeginStr");
                }
            }
        }

        [DataMember]
        public string Field2EndStr
        {
            get
            {
                return this.Field2EndStrField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field2EndStrField, value))
                {
                    this.Field2EndStrField = value;
                    this.RaisePropertyChanged("Field2EndStr");
                }
            }
        }

        [DataMember]
        public int Field2Length
        {
            get
            {
                return this.Field2LengthField;
            }
            set
            {
                if (!this.Field2LengthField.Equals(value))
                {
                    this.Field2LengthField = value;
                    this.RaisePropertyChanged("Field2Length");
                }
            }
        }

        [DataMember]
        public string Field2Type
        {
            get
            {
                return this.Field2TypeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field2TypeField, value))
                {
                    this.Field2TypeField = value;
                    this.RaisePropertyChanged("Field2Type");
                }
            }
        }

        [DataMember]
        public string Field3BeginStr
        {
            get
            {
                return this.Field3BeginStrField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field3BeginStrField, value))
                {
                    this.Field3BeginStrField = value;
                    this.RaisePropertyChanged("Field3BeginStr");
                }
            }
        }

        [DataMember]
        public string Field3EndStr
        {
            get
            {
                return this.Field3EndStrField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field3EndStrField, value))
                {
                    this.Field3EndStrField = value;
                    this.RaisePropertyChanged("Field3EndStr");
                }
            }
        }

        [DataMember]
        public int Field3Length
        {
            get
            {
                return this.Field3LengthField;
            }
            set
            {
                if (!this.Field3LengthField.Equals(value))
                {
                    this.Field3LengthField = value;
                    this.RaisePropertyChanged("Field3Length");
                }
            }
        }

        [DataMember]
        public string Field3Type
        {
            get
            {
                return this.Field3TypeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field3TypeField, value))
                {
                    this.Field3TypeField = value;
                    this.RaisePropertyChanged("Field3Type");
                }
            }
        }

        [DataMember]
        public string Field4BeginStr
        {
            get
            {
                return this.Field4BeginStrField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field4BeginStrField, value))
                {
                    this.Field4BeginStrField = value;
                    this.RaisePropertyChanged("Field4BeginStr");
                }
            }
        }

        [DataMember]
        public string Field4EndStr
        {
            get
            {
                return this.Field4EndStrField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field4EndStrField, value))
                {
                    this.Field4EndStrField = value;
                    this.RaisePropertyChanged("Field4EndStr");
                }
            }
        }

        [DataMember]
        public int Field4Length
        {
            get
            {
                return this.Field4LengthField;
            }
            set
            {
                if (!this.Field4LengthField.Equals(value))
                {
                    this.Field4LengthField = value;
                    this.RaisePropertyChanged("Field4Length");
                }
            }
        }

        [DataMember]
        public string Field4Type
        {
            get
            {
                return this.Field4TypeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field4TypeField, value))
                {
                    this.Field4TypeField = value;
                    this.RaisePropertyChanged("Field4Type");
                }
            }
        }

        [DataMember]
        public string Field5BeginStr
        {
            get
            {
                return this.Field5BeginStrField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field5BeginStrField, value))
                {
                    this.Field5BeginStrField = value;
                    this.RaisePropertyChanged("Field5BeginStr");
                }
            }
        }

        [DataMember]
        public string Field5EndStr
        {
            get
            {
                return this.Field5EndStrField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field5EndStrField, value))
                {
                    this.Field5EndStrField = value;
                    this.RaisePropertyChanged("Field5EndStr");
                }
            }
        }

        [DataMember]
        public int Field5Length
        {
            get
            {
                return this.Field5LengthField;
            }
            set
            {
                if (!this.Field5LengthField.Equals(value))
                {
                    this.Field5LengthField = value;
                    this.RaisePropertyChanged("Field5Length");
                }
            }
        }

        [DataMember]
        public string Field5Type
        {
            get
            {
                return this.Field5TypeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Field5TypeField, value))
                {
                    this.Field5TypeField = value;
                    this.RaisePropertyChanged("Field5Type");
                }
            }
        }

        [DataMember]
        public string LoactionEndValue
        {
            get
            {
                return this.LoactionEndValueField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LoactionEndValueField, value))
                {
                    this.LoactionEndValueField = value;
                    this.RaisePropertyChanged("LoactionEndValue");
                }
            }
        }

        [DataMember]
        public string LoactionStarteValue
        {
            get
            {
                return this.LoactionStarteValueField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LoactionStarteValueField, value))
                {
                    this.LoactionStarteValueField = value;
                    this.RaisePropertyChanged("LoactionStarteValue");
                }
            }
        }

        [DataMember]
        public int LocationLength
        {
            get
            {
                return this.LocationLengthField;
            }
            set
            {
                if (!this.LocationLengthField.Equals(value))
                {
                    this.LocationLengthField = value;
                    this.RaisePropertyChanged("LocationLength");
                }
            }
        }

        [DataMember]
        public List<int> LocationValueLength
        {
            get
            {
                return this.LocationValueLengthField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LocationValueLengthField, value))
                {
                    this.LocationValueLengthField = value;
                    this.RaisePropertyChanged("LocationValueLength");
                }
            }
        }

        [DataMember]
        public string SeperatorChar
        {
            get
            {
                return this.SeperatorCharField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SeperatorCharField, value))
                {
                    this.SeperatorCharField = value;
                    this.RaisePropertyChanged("SeperatorChar");
                }
            }
        }
    }
}

